package com.usooft.metaTalent.core.system.service;

import com.usooft.framework.core.query.Page;
import com.usooft.metaTalent.core.system.entity.Role;
import com.usooft.metaTalent.core.system.query.RoleQuery;
import com.usooft.metaTalent.core.system.wrapper.RoleWrapper;
import java.util.List;
import java.util.Optional;
import java.lang.Long;

public interface RoleService {

    // region 自动生成
    Role get(Long id);

    Optional<Role> find(Long id);

    List<RoleWrapper> list(RoleQuery query);

    Page<RoleWrapper> page(RoleQuery query);

    int count(RoleQuery.Filter filter);
    // endregion

    List<? extends Role> listAll();

    Role create(String name, String description);

    void edit(Role role, String name, String description);

}